//# sourceURL=http://uMapApp/UI/ModalityWindow
define([
    "mhjs/mhjs",
    "uMap/uMap"
], function (
    mhjs,
    uMap
) {

    function ModalityWindow(option) {

        var _this = this;
        _this.isOpened = false;

        _this.ui = {
            wrap  : new mhjs.Div({"class": "wrap"}),
            title : new mhjs.Div({"class": "title"}),
            close : new mhjs.Div({"class": "close"}),
            iframe: new mhjs.IFrame()
        };

        _this.ui.wrap
            .append(_this.ui.iframe);


        mhjs.Div.call(_this, option);
        _this.addClass("modalityWindow");

        _this
            .append(_this.ui.close)
            .append(_this.ui.title)
            .append(_this.ui.wrap)
        ;


        _this.ui.close.on("click", function () {
            _this.close();
        });

    }

    var _class = ModalityWindow;
    mhjs.Inherit(_class, mhjs.Div);


    Object.defineProperties(_class.prototype, {
        "title" : {
            get: function () {
                return this._title;
            },
            set: function (value) {
                this._title = value;
                this.ui.title.text(value);
            }
        },
        "url"   : {
            get: function () {
                return this._url;
            },
            set: function (value) {
                this._url = value;
                this.ui.iframe.url = value;
            }
        },
        "open"  : {
            value: function (url,title) {
                var _this = this;
                if (url) {
                    _this.url = url;
                }
                if (title) {
                    _this.title = title;
                }
                _this.isOpened = true;
                _this.addClass("open");
            }
        },
        "close" : {
            value: function () {
                var _this = this;
                _this.isOpened = false;
                _this.removeClass("open");
            }
        },
        "toggle": {
            value: function () {
                var _this = this;
                if (_this.isOpened) {
                    _this.close();
                } else {
                    _this.open();
                }
            }
        }
    });

    return _class;

});